package com.tedu.day02.test;

import javafx.animation.Animation;

/**
 * 匿名内部类：需要了解抽象类与接口定义与使用---拓展：表达式【JavaAPI】
 * 定义：抽象类/接口  引用=new  抽象类/接口(){};
 * 特点：对象只需要一次创建时候
 */
public class 匿名内部类 {
    public static void main(String[] args) {
        //创建接口   实现类  继承  USB接口---多态性（造型）
       /* USB usb=new Jack();
        usb.read();usb.write();
        //针对：子实现类有多个需要实现
        //针对：实现一次，创建一次接口对象---匿名内部类创建：接口、抽象类*/
        USB usb=new USB() {

            public void write() {
                System.out.println("写");
            }

            public void read() {
                System.out.println("读");
            }
        };
        usb.write();usb.read();
        //作业二：抽象类使用匿名内部类方法创建出来，并且输出跑、睡方法
        Animal animal=new Animal(){
            @Override
            void run() {
                System.out.println("跑");
            }

            @Override
            void sleep() {
                System.out.println("睡");
            }
        };
        animal.run();animal.sleep();
    }
    //创建接口    USB 功能：读   写
    interface  USB{
        public abstract void write();
        public abstract void read();
    }



    //以往创建接口对象：先创建实现类
    class Jack implements USB{
        public void write(){
            System.out.println("写");
        }
        public void read(){
            System.out.println("读");
        }
    }
}
//创建抽象类  Animal 功能：跑、睡
abstract class Animal{
    abstract void run();
    abstract void  sleep();
}